package main

import (
	"fmt"
	"sort"
)

//示例 1:
//给定数组 nums = [1,1,2],
//函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。
//你不需要考虑数组中超出新长度后面的元素。
//示例 2:
//给定 nums = [0,0,1,1,1,2,2,3,3,4],
//函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。
//你不需要考虑数组中超出新长度后面的元素。
func main() {
	nums := []int{-1, 1, 0, 1, -3, 3, 4, 2, 6, 5, 6, 4}
	//1先对切片排序
	sort.Ints(nums)
	fmt.Println("排序后的切片是:", nums)
	//2 然后进行比较加入到新切片
	var result []int
	last := nums[0]
	result = append(result, last)
	for i := 1; i < len(nums); i++ {
		value := nums[i]
		if last == value {
			continue
		}
		last = value
		result = append(result, value)
	}
	fmt.Println(result)

}
